home *** CD-ROM | disk | FTP | other *** search
- global gLstRectHS, gLstPictHS, gRedTagData, gLinkData, gRegionData, gCurrentLabel, gLstLabelButtonHS, gActiveHS, gScreenStatus, gCurrentScreen, gCurrentCut, glstlabels, gPictureOnly, gShowAll, gZoomData, gZoomRect, gTextLanguage, gWorking, gJumpData, gLastPictLabel, gCurrAnimation, gCutData, gLstAnimHS, gNotPictLabel, gLabelLang, gIndexLabel, gRunningMovie, gLstAnimPals
-
- on ScreenEnterFrame
- set the cursor of sprite 1 to 0
- if getAt(gRunningMovie, 1) <> #stop then
- CheckAnimStatus()
- end if
- if CheckAnimPalettes() = 0 then
- return
- end if
- set TestPoint to point(the mouseH, the mouseV)
- if not gShowAll then
- if rollOver(42) or rollOver(44) or rollOver(40) then
- if rollOver(42) then
- set actionID to 42
- else
- if rollOver(44) then
- set actionID to 44
- else
- if rollOver(40) then
- set actionID to 40
- end if
- end if
- end if
- set gActiveHS to [#LabelText, actionID]
- handCursor()
- return
- end if
- repeat with i = 1 to 3
- if count(getAt(gLstLabelButtonHS, i)) > 0 then
- if inside(TestPoint, getAt(getAt(gLstLabelButtonHS, i), 1)) then
- set gActiveHS to [#LABELBUTTON, i, getAt(getAt(gLstLabelButtonHS, i), 2)]
- handCursor()
- return
- end if
- end if
- end repeat
- end if
- repeat with i = 1 to count(gLstRectHS)
- if inside(TestPoint, getAt(getAt(gLstRectHS, i), 1)) then
- set NewAction to getAt(getAt(gLstRectHS, i), 2)
- set NewActionID to getAt(getAt(gLstRectHS, i), 3)
- set NewLabel to getAt(getAt(gLstRectHS, i), 4)
- if (getAt(gActiveHS, 1) = NewAction) and (getAt(gActiveHS, 2) = NewActionID) then
- return
- end if
- if gShowAll or gPictureOnly then
- set gLstLabelButtonHS to [[], [], [rect(0, 0, 0, 0), getAt(getAt(gLstRectHS, i), 4)]]
- else
- if NewAction = #REDTAG then
- if gCurrAnimation <> -1 then
- if (getAt(getAt(gRedTagData, NewActionID), 6) = gCurrAnimation) or (getAt(gLstAnimHS, getAt(gRunningMovie, 2)) <> #TOGGLE) then
- return
- end if
- end if
- if gCurrentLabel <> [] then
- if (getAt(gCurrentLabel, 6) <> NewAction) or (getAt(gCurrentLabel, 7) <> NewActionID) then
- EraseRedTag(getAt(gRedTagData, NewActionID))
- end if
- else
- EraseRedTag(getAt(gRedTagData, NewActionID))
- end if
- end if
- if NewLabel <> [] then
- DrawLabelAndArrow2(NewLabel, 39, 40)
- end if
- end if
- if (NewAction <> #REDTAG) and (NewAction <> #BRACKET) then
- if gPictureOnly and ((NewAction = #ZOOM) or (NewAction = #REGION) or (NewAction = #LINK)) then
- set NewAction to #void
- else
- if NewAction = #ANIMATION then
- AnimationEnterFrame(i)
- else
- if NewAction = #ZOOM then
- MagnifyCursor()
- else
- if (NewAction = #REGION) and (gScreenStatus = #REGION) then
- PointerCursor()
- set NewAction to #void
- else
- if gShowAll and (gCurrAnimation <> -1) and (NewAction = #LABELBUTTON) then
- if getAt(getaProp(glstlabels, NewActionID), 5) = gCurrAnimation then
- set NewAction to #void
- PointerCursor()
- else
- handCursor()
- end if
- else
- handCursor()
- end if
- end if
- end if
- end if
- end if
- end if
- set gActiveHS to [NewAction, NewActionID]
- return
- end if
- end repeat
- repeat with i = 1 to count(gLstPictHS)
- if the mouseCast = getAt(getAt(gLstPictHS, i), 1) then
- set NewAction to getAt(getAt(gLstPictHS, i), 3)
- set NewActionID to getAt(getAt(gLstPictHS, i), 4)
- set NewLabel to getAt(getAt(gLstPictHS, i), 5)
- if (getAt(gActiveHS, 1) = NewAction) and (getAt(gActiveHS, 2) = NewActionID) then
- return
- end if
- if not gShowAll and not gPictureOnly then
- if NewAction = #None then
- if (gLastPictLabel <> NewActionID) and (the mouseCast <> gNotPictLabel) then
- set gNotPictLabel to 0
- set gLastPictLabel to NewActionID
- DrawLabelAndArrow2(getAt(getAt(gLstPictHS, i), 5), 43, 44)
- end if
- PointerCursor()
- else
- if count(NewLabel) > 0 then
- DrawLabelAndArrow2(NewLabel, 39, 40)
- end if
- handCursor()
- end if
- else
- if NewAction = #None then
- PointerCursor()
- end if
- end if
- set gActiveHS to [NewAction, NewActionID, getAt(getAt(gLstPictHS, i), 2)]
- return
- end if
- end repeat
- set gActiveHS to [#void, 0]
- if gNotPictLabel <> 0 then
- set gNotPictLabel to 0
- end if
- if gScreenStatus = #REGION then
- if the mouseCast <> -1 then
- if not (the name of cast the mouseCast starts "R") then
- handCursor()
- set gActiveHS to [#ENDREGION, 0]
- else
- PointerCursor()
- end if
- end if
- else
- if gScreenStatus = #ZOOM then
- if inside(point(the mouseH, the mouseV), gZoomRect) then
- PointerCursor()
- else
- handCursor()
- set gActiveHS to [#ENDZOOM, 0]
- end if
- else
- PointerCursor()
- end if
- end if
- end
-
- on ScreenMouseDown
- if the doubleClick and (getAt(gActiveHS, 1) <> #LabelText) then
- return
- end if
- set action to getAt(gActiveHS, 1)
- set actionID to getAt(gActiveHS, 2)
- if not gPictureOnly then
- if not rollOver(35) then
- if ((action = #void) or (action = #None)) and not gShowAll then
- clickNoWhere(action)
- end if
- end if
- if action = #LabelText then
- ClickLabelText(actionID)
- return
- end if
- end if
- if action = #ENDZOOM then
- CreateScreen(gCurrentScreen, 0, 1)
- PointerCursor()
- else
- if rollOver(35) then
- ProcessAnimPushButton(getAt(gLstAnimPals, 1), 1)
- else
- if rollOver(36) then
- ProcessAnimPushButton(getAt(gLstAnimPals, 2), 2)
- else
- if action = #ENDREGION then
- CreateScreen(gCurrentScreen, 0, 1)
- else
- if action = #LINK then
- set TempData to getAt(gLinkData, actionID)
- set the castNum of sprite 46 to 10841
- set the locH of sprite 46 to getAt(TempData, 1)
- set the locV of sprite 46 to getAt(TempData, 2)
- if PushButton(46) then
- set theLinkTempList to getAt(gLinkData, actionID)
- set gLabelLang to gTextLanguage
- set gIndexLabel to getAt(getAt(theLinkTempList, 6), gTextLanguage)
- set gCurrentCut to 1
- set the castNum of sprite 46 to 10001
- GetNavigInfo([getAt(theLinkTempList, 7), 5, getAt(theLinkTempList, 5)])
- return
- else
- set the castNum of sprite 46 to 10001
- end if
- else
- if action = #REGION then
- set castNum to 10843
- set TempData to getAt(gRegionData, actionID)
- set TempNum to castNum + ((getAt(TempData, 3) - 1) * 2)
- addRAMobjects(#CastList, [TempNum])
- set the castNum of sprite 46 to TempNum
- set the locH of sprite 46 to getAt(TempData, 1)
- set the locV of sprite 46 to getAt(TempData, 2)
- if PushButton(46) then
- set the castNum of sprite 46 to 10001
- CreateRegionScreen(gCurrentScreen, actionID)
- else
- set the castNum of sprite 46 to 10001
- end if
- return
- else
- if action = #ZOOM then
- if ZoomPushButton(getAt(gZoomData, actionID)) then
- CreateZoomScreen(gCurrentScreen, ((getAt(getAt(gZoomData, actionID), 8) - 1) * 15) + 60, getAt(getAt(gZoomData, actionID), 6), getAt(getAt(gZoomData, actionID), 7))
- end if
- else
- if action = #LABELBUTTON then
- ClickPopUp(actionID)
- else
- if action = #Jump then
- if PushButton(getAt(gActiveHS, 3)) then
- set theJumpTempList to getAt(getAt(gJumpData, actionID), 5)
- set gCurrentCut to 1
- spriteClearCursor(getAt(gActiveHS, 3))
- GetNavigInfo([getAt(theJumpTempList, 2), 5, getAt(theJumpTempList, 1)])
- end if
- else
- if action = #ANIMATE then
- if PushButton(getAt(gActiveHS, 3)) then
- ActivateMovie(#play, getAt(getAt(gJumpData, getAt(gActiveHS, 2)), 5), 0)
- end if
- else
- if action = #Cut then
- if PushButton(getAt(gActiveHS, 3)) then
- set gCurrentCut to getAt(getAt(gCutData, actionID), 5)
- CreateScreen(gCurrentScreen, 0, 1)
- end if
- end if
- end if
- end if
- end if
- end if
- end if
- end if
- end if
- end if
- end if
- end if
- end
-